home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / stut_src / srial_pu.h < prev    next >
C/C++ Source or Header  |  1996-06-05  |  4KB  |  134 lines

  1. /*
  2.  * serial_public.h
  3.  *
  4.  * Purpose:
  5.  * --------
  6.  * Interface publique pour SERIAL.C
  7.  *
  8.  * History:
  9.  * --------
  10.  * 19.11.94: fplanque: Created
  11.  */
  12.  
  13. #ifndef    _SERIAL_PU_H_
  14. #define    _SERIAL_PU_H_
  15.  
  16.  
  17. #include "POPUP_PU.H"
  18.  
  19.  
  20. /*
  21.  * ------------------------- CONSTANTES ----------------------------
  22.  */
  23.     /*    
  24.      * NOMS symboliques des ports s‚rie de l'ATARI: 
  25.      *
  26.      * History:
  27.      * --------
  28.      * Created by fplanque
  29.      */
  30.     #define        PRN        0        /* Printer    */
  31.     #define        AUX        1        /* [S‚rie]    Equ … MOD1 par d‚faut */
  32.     #define        CON        2        /* Console    */
  33.     #define        MIDI        3        /* Midi         */
  34.     #define        IKBD        4        /* Clavier    (Intelligent Keyboard) */
  35.     #define        RAW        5        /* Ecran     (Direct / Non bufferis‚) */
  36.     #define        MOD1        6        /* Modem1    Compatible ST */
  37.     #define        MOD2        7        /* Modem2    SCC Canal B */
  38.     #define        SER1        8        /* Serial1    MFP2 - Uniquement sur TT */
  39.     #define        SERL        8        /* "Serial2" SCC Canal A (Trappe VME) - Mega STE */
  40.     #define        SER2        9        /* Serial2    SCC Canal A - Sur TT */
  41.  
  42.  
  43.     /*
  44.      * Handshaking:
  45.      */
  46.     #define        HANDSHAKE_NONE        0
  47.     #define        HANDSHAKE_XONXOFF    1
  48.     #define        HANDSHAKE_RTSCTS    2
  49.     #define        HANDSHAKE_BOTH        3
  50.  
  51.  
  52.     /*
  53.      * UART control:
  54.      */
  55.     #define        PARITY_NONE            0x00
  56.      #define        PARITY_ODD            0x04
  57.      #define        PARITY_EVEN            0x06
  58.  
  59.      #define        MODE_SYNCHRONE        0x00
  60.      #define        MODE_ASYNC1STOP    0x08
  61.      #define        MODE_ASYNC1_5STOP    0x10
  62.      #define        MODE_ASYNC2STOP    0x18
  63.      
  64.     #define        BITS_8                0x00
  65.     #define        BITS_7                0x20
  66.     #define        BITS_6                0x40
  67.     #define        BITS_5                0x60
  68.  
  69.     /*
  70.      * Les IORECS systŠme sont rang‚es par deux dans la m‚moire,
  71.      * voici dans quel ordre:
  72.      */    
  73.     #define    IOREC_IN        0            /* Index tableau pour les entr‚es */
  74.     #define    IOREC_OUT    1            /* Index tableau pour les sorties */
  75.  
  76.  
  77. /*
  78.  * ------------------ VARIABLES GLOBALES PUBLIQUES -------------------
  79.  */
  80.  
  81.     /* 
  82.      * Prises s‚rie: 
  83.      */
  84.     extern    int            G_term_dev;            /* Port utilis‚ par icone terminal */
  85.     extern    long        *    G_inst_abrev;        /* Noms abr‚g‚s en 4 lettres */
  86.     /* 
  87.      * Menu Pop-Up: 
  88.      */
  89.     extern    POPUP_ENTRY    *    G_inst_drv_list;    /* Liste des p‚rifs install‚s pourmenu Popup */
  90.  
  91.  
  92. /*
  93.  * --------------------------- INLINES -------------------------------
  94.  */
  95.  
  96. /*
  97.  * ----------------------- OPERATIONS PUBLIQUES -------------------------
  98.  */
  99.  
  100. void    param_term( const GRECT *start_box );
  101.  
  102. void    init_serial( void );
  103. void    restore_serial( void );
  104. void    save_serial_ini( 
  105.                             FILE *fstream );                /* In: Ptr sur fichier dans lequel on doit sauver */
  106. void    serial_ini( 
  107.                             char *object,                    /* In: Objet concern‚ (Tete de Ligne lue ds fichier .INI), ici un poet s‚rie */
  108.                             char *data );                    /* In: Donn‚es associ‚es … l'objet, ici taille des buffers */
  109. void    param_term( 
  110.                             const GRECT *start_box );    /* In: Rectangle de d‚part de l'effet graphique d'ouverture */
  111. void    FlushRXBuffer( int n_device );    /* In: Port concern‚ */
  112.  
  113. int    device_offset(        /* Out: No d'ordre [0..n-1] du port */
  114.              int device );    /* In: No bconmap du port */
  115.  
  116. int    find_device_byabrev(         /* Out: no bconmap du p‚riph‚rique */
  117.                 char *abrev_string );    /* In:  abreviation du nom du port */
  118.  
  119. void    SetPort(
  120.                     int        n_devno,                /* In: Port … utiliser, ex AUX */
  121.                     long        l_baud_rate,        /* In: Vitesse: ex: 9600 */
  122.                     char        c_parity,            /* In: Parit‚: 'E' 'O' ou 'N' */
  123.                     int        n_word_length,        /* In: Longueur de car: 5, 6, 7 ou 8 */
  124.                     int        n_mode,                /* In: Mode: ex: MODE_ASYNC1STOP */
  125.                     int        n_handshake );        /* In: Handshake: ex: HANDSHAKE_NONE */
  126.  
  127. void    Serial_FlushTX( 
  128.             int n_device );    /* In: Port concern‚ */
  129.  
  130. void    Serial_WaitTXEmpty( 
  131.             int n_device );    /* In: Port concern‚ */
  132.  
  133.  
  134. #endif         /* _SERIAL_PU_H_ */